package ch02.t04;

/**
 * @author shun
 * @date 2022-10-21 21:08:04
 * @note 我之为也
 */

//import com.huawei.xme.utils.BigDecimalUtil;

import java.math.BigDecimal;

public class T01Opt {
    /**
     * π
     */
    private final static double PI = 3.1415927;

    public static void main(String[] args) {
        // 任务一：实现计算体积关键算法
        T01Opt t = new T01Opt();
        BigDecimal volume = t.getVolume(2);
        System.out.println(volume);

    }

    /**
     * 方法描述: 求 体积
     * @author: 黄后林
     * @date: 2022/10/19 9:17
     * @param r  半径
     * @return java.lang.String
     */
    public BigDecimal getVolume(int r){
        // 1、 入参检测
        if( r<=0){
            System.out.println("请输入正确的参数...");
            return null;
        }

//        BigDecimal rs = BigDecimalUtil.getBigDecimal(PI * r * r * r * 4 / 3, 3);
        // double的乘法是不可靠
         BigDecimal big = new BigDecimal(PI*r*r*r*4/3);

        // 四舍五入
         BigDecimal rs = big.setScale(3, BigDecimal.ROUND_HALF_UP);
        //System.out.println(rs);

        return rs;
    }
}
